A memristor or ‘memory resistor,’ sometimes also referred to as ‘resistive random access memory’ (RRAM or ReRAM), is a non-linear, passive, two-terminal electrical device having or exhibiting an instantaneous resistance level or state that is substantially a function of bias history. In particular, a bias (e.g., a voltage or a current) applied across terminals of the memristor may be used to set, select or program a resistance of the memristor. Once programmed, the memristor may retain the programmed resistance for a specified period of time after the bias is removed (e.g., until reprogrammed). As such, a memristor is a two-terminal device that may function as a non-volatile memory where the programmed resistance is stored without the application of power to the memristor.
In some examples, the memristor may be switched between a specific pair of resistance levels or ‘states’ using a programming signal having two different polarities (e.g., a positive voltage and a negative voltage). For example, the memristor may be switched to a first resistance state (e.g., a relatively low resistance level) by a first polarity of the programming signal. The memristor may be switched to a second resistance state (e.g., a relatively high resistance level) by a second polarity of the programming signal, for example. Such switching may be used to implement a binary memory cell or element, for example. In other examples, the memristor may be switched between a plurality of different resistance levels or states to implement a multi-state or multi-level memory cell, for example. In some examples, a plurality of memristors may be arranged in an array (e.g. a crossbar array) to serve as a memory for storing data in a computer system or as programmable logic, according to various applications.
Certain examples have other features that are one of in addition to and in lieu of the features illustrated in the above-referenced figures. These and other features are detailed below with reference to the above-referenced figures.